package com.zhuoyue.biz.core.api.dto.rep;

import com.alibaba.fastjson.JSONObject;
import com.zhuoyue.biz.core.api.domain.TblDeviceTask;
import com.zhuoyue.common.utils.JsonUtils;
import lombok.Data;
import org.springframework.beans.BeanUtils;

/**
 * @author zhanghui
 */
@Data
public class TimedTaskReqDTO extends BaseRepDTO {
    /**
     * 红外学习仪MAC
     */

    private String zigbeeMac;
    /**
     * 任务序号，为1-3
     */

    private Integer taskIndex;
    /**
     * 任务状态，0禁用，1启用
     */

    private Integer status;

    /**
     * 重发次数
     */
    private Integer repeatTime;

    /**
     * 重复时间间隔,单位分钟，0则只发送一次
     */
    private Integer taskInterval;

    /**
     * 任务开始时间
     */
    private String startTime;

    /**
     * 控制类型。1=空调开关；2=空调模式、3=空调风速、4=空调风向，5=空调温 度，6=全控。
     */
    private Integer controlType;

    /**
     * 空调开关状态
     */
    private String acSwitch;

    /**
     * 空调模式
     */
    private String acMode;

    /**
     * 空调风速
     */
    private String acWindSpeed;

    /**
     * 空调风向
     */
    private String acWindDirection;

    /**
     * 空调温度
     */
    private Integer acTemp;

    public TimedTaskReqDTO dOtoDto(TblDeviceTask deviceTask) {
        if (deviceTask == null) {
            return null;
        }
        String controlParams = deviceTask.getControlParams();
        BeanUtils.copyProperties(deviceTask, this);
        this.acSwitch = JsonUtils.getAcSwitch(controlParams);
        this.acMode = JsonUtils.getAcMode(controlParams);
        this.acWindSpeed = JsonUtils.getAcWindSpeed(controlParams);
        this.acWindDirection = JsonUtils.getAcWindDirection(controlParams);
        this.acTemp = JsonUtils.getAcTemp(controlParams);
        return this;
    }
}
